package edu.whut.mall.admin.service;


import edu.whut.mall.admin.domain.UserParams;
import edu.whut.mall.admin.vo.LoginVo;
import edu.whut.mall.admin.vo.UserVo;
import edu.whut.mall.common.api.CommonPage;
import edu.whut.mall.model.SysUser;

import java.io.Serializable;

/**
 * @program: footbook
 * @description: 抽象类
 * @author: Wayne
 * @create: 2020-03-17 12:58
 **/
public interface ISysUserService {

    /**
     * 新增用户
     * @param userParams
     * @return
     */
    SysUser insertOneUser(String RegIp,UserParams userParams);

    /**
     * 管理员登陆
     * @param loginIp
     * @param username
     * @param password
     * @return
     */

    LoginVo loginAdmin(String loginIp, String username, String password);

    /**
     * 根据id查找用户
     * @param id
     * @return
     */
    SysUser getUserById(Long id);

    /**
     * 根据
     * @param username
     * @return
     */
    SysUser getUserByUsername(String username);

    /**
     * 获取所有的管理员列表
     * @return
     */
    CommonPage<UserVo> listAdmins(Integer page, Integer size);

    /**
     * 删除一个用户
     * @param userId
     * @return
     */
    Integer deleteOneAdminUser(Long userId);

    /**
     * @Description 根据商家Id删除该商家的管理员
     * @param merchantId
     * @return
     * @Author lvfanbing
     * @Date 2020/10/14 10:40
     */
    Integer deleteAdminsByMerchantId(Long merchantId);

    /**
     * @Description
     * @param
     * @return
     * @Author lvfanbing
     * @Date 2020/10/19 15:28
     */
    Integer updateUser(UserParams userParams);
}
